package ru.vt;

import ru.chezclif.lern.conread.Preconditions;
import ru.vt.data.Config;
import ru.vt.utils.BeanUtils;
import java.util.ArrayList;
import java.util.List;

/**
 * @author Vit
 *         Бин, реализующий функционал меню
 */
public class MenuLeftBean {

    /**
     * Хранилище с конфигами
     */
    List<Config> localConfigList = new ArrayList<Config>();

    /**
     * Установка страницы редактирования конфигов и создание копии конфига с его номером массива
     */
    public void goOperationsPage() {
        EditConfigRightBean editConfigRightBean = (EditConfigRightBean) BeanUtils.getBean("editconfigrightbean");
        Preconditions.notNull(editConfigRightBean);
        editConfigRightBean.setDeltaConfig(null);
        for (Config config : localConfigList) {
            if (config.getConfigName().equals(editConfigRightBean.getConfigName())) {
                editConfigRightBean.setDeltaConfig(new Config(config));
                editConfigRightBean.setPositionOfSavedConfig(localConfigList.indexOf(config));
                break;
            }
        }
        LegalBean legalBean = (LegalBean) BeanUtils.getBean("legalbean");
        Preconditions.notNull(legalBean);
        legalBean.setNowUsedPage(3);
    }

    /**
     * Установка страницы загрузки файла на сервер
     */
    public void goLoadPage() {
        LegalBean legalBean = (LegalBean) BeanUtils.getBean("legalbean");
        Preconditions.notNull(legalBean);
        legalBean.setNowUsedPage(1);
    }

    /**
     * Возвращает из бина массив конфигов
     */
    public List<Config> getLocalConfigList() {
        return localConfigList;
    }
}
